<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.10"/>
<title>ESP8266_RTOS_SDK: include/espressif/espnow.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ESP8266_RTOS_SDK
   &#160;<span id="projectnumber">v1.4.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_cf4dbf1328d2cf10d3f3933741525dc7.html">espressif</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">espnow.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * ESPRSSIF MIT License</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) 2015 &lt;ESPRESSIF SYSTEMS (SHANGHAI) PTE LTD&gt;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * Permission is hereby granted for use on ESPRESSIF SYSTEMS ESP8266 only, in which case,</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * it is free of charge, to any person obtaining a copy of this software and associated</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> * documentation files (the &quot;Software&quot;), to deal in the Software without restriction, including</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> * and/or sell copies of the Software, and to permit persons to whom the Software is furnished</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> * to do so, subject to the following conditions:</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all copies or</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> * substantial portions of the Software.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#ifndef __ESPNOW_H__</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#define __ESPNOW_H__</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="keyword">enum</span> esp_now_role {</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    ESP_NOW_ROLE_IDLE = 0,</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    ESP_NOW_ROLE_CONTROLLER,</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    ESP_NOW_ROLE_SLAVE,</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    ESP_NOW_ROLE_MAX,</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;};</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__ESPNow__APIs.html#gadd5a6237e11ed8513c4956f6109730a7">   75</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="group__ESPNow__APIs.html#gadd5a6237e11ed8513c4956f6109730a7">esp_now_recv_cb_t</a>)(uint8 *mac_addr, uint8 *data, uint8 len);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;</div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="group__ESPNow__APIs.html#ga5d05ff4fff6db81409e30f7e7e5d48c7">   88</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="group__ESPNow__APIs.html#ga5d05ff4fff6db81409e30f7e7e5d48c7">esp_now_send_cb_t</a>)(uint8 *mac_addr, uint8 status);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga407ae697a77bd49ade96fc2a72f49636">esp_now_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga5a85f4807948eaa75b76ebef7cad1a22">esp_now_deinit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga6dbbbb859a5d37c2b74a79baaa8011f0">esp_now_register_send_cb</a>(<a class="code" href="group__ESPNow__APIs.html#ga5d05ff4fff6db81409e30f7e7e5d48c7">esp_now_send_cb_t</a> cb);</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#gacf2a9263a2f55d55440dbf7ca2b43709">esp_now_unregister_send_cb</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#gaf3488572d55b5b2f3748a7a87e902a0f">esp_now_register_recv_cb</a>(<a class="code" href="group__ESPNow__APIs.html#gadd5a6237e11ed8513c4956f6109730a7">esp_now_recv_cb_t</a> cb);</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#gaac4facb9a7ec9bf4c7c0e18054664b03">esp_now_unregister_recv_cb</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga2ef5f592b161d885b6f0d8dde18ff802">esp_now_send</a>(uint8 *da, uint8 *data, uint8 len);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga780113b4069cbf971a58353987d25240">esp_now_add_peer</a>(uint8 *mac_addr, uint8 role, uint8 channel, uint8 *key, uint8 key_len);</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#gab5b0ca5ece92af7fb04c27a8c1bfce4d">esp_now_del_peer</a>(uint8 *mac_addr);</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga08297bacf8c88648d09c11ba3b69d594">esp_now_set_self_role</a>(uint8 role);</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga5838cbb89faf492c4904fab6d83b87bb">esp_now_get_self_role</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga7a5f50b81300b3b8ae403854d76901a3">esp_now_set_peer_role</a>(uint8 *mac_addr, uint8 role);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga0629a89cf89b13439f8306fe0ba95023">esp_now_get_peer_role</a>(uint8 *mac_addr);</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga49e3aa3ba63d7883124e1dfcf2a0533b">esp_now_set_peer_channel</a>(uint8 *mac_addr, uint8 channel);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga42cd1efe5ef32d2f35682bccddb5d83e">esp_now_get_peer_channel</a>(uint8 *mac_addr);</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga936b9caa1127d362aa63225f865afd99">esp_now_set_peer_key</a>(uint8 *mac_addr, uint8 *key, uint8 key_len);</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga6b2c449a35daf4c91e51496f7622f2a0">esp_now_get_peer_key</a>(uint8 *mac_addr, uint8 *key, uint8 *key_len);</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;uint8 *<a class="code" href="group__ESPNow__APIs.html#gaffa4f035416078c3d0dbf34f2d67795a">esp_now_fetch_peer</a>(<span class="keywordtype">bool</span> restart);</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga735fbbcc99172abd887d1e248a7e9fb3">esp_now_is_peer_exist</a>(uint8 *mac_addr);</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#ga59320ae71ba3f4d4b2904e69ce7b72f2">esp_now_get_cnt_info</a>(uint8 *all_cnt, uint8 *encrypt_cnt);</div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;sint32 <a class="code" href="group__ESPNow__APIs.html#gaab9b169f115cffd354637c79d2a16789">esp_now_set_kok</a>(uint8 *key, uint8 len);</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;}</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga7a5f50b81300b3b8ae403854d76901a3"><div class="ttname"><a href="group__ESPNow__APIs.html#ga7a5f50b81300b3b8ae403854d76901a3">esp_now_set_peer_role</a></div><div class="ttdeci">sint32 esp_now_set_peer_role(uint8 *mac_addr, uint8 role)</div><div class="ttdoc">Set ESP-NOW role for a target device. If it is set multiple times, new role will cover the old one...</div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gab5b0ca5ece92af7fb04c27a8c1bfce4d"><div class="ttname"><a href="group__ESPNow__APIs.html#gab5b0ca5ece92af7fb04c27a8c1bfce4d">esp_now_del_peer</a></div><div class="ttdeci">sint32 esp_now_del_peer(uint8 *mac_addr)</div><div class="ttdoc">Delete an ESP-NOW peer, delete MAC address of the device from ESP-NOW MAC list. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga0629a89cf89b13439f8306fe0ba95023"><div class="ttname"><a href="group__ESPNow__APIs.html#ga0629a89cf89b13439f8306fe0ba95023">esp_now_get_peer_role</a></div><div class="ttdeci">sint32 esp_now_get_peer_role(uint8 *mac_addr)</div><div class="ttdoc">Get ESP-NOW role of a target device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga5d05ff4fff6db81409e30f7e7e5d48c7"><div class="ttname"><a href="group__ESPNow__APIs.html#ga5d05ff4fff6db81409e30f7e7e5d48c7">esp_now_send_cb_t</a></div><div class="ttdeci">void(* esp_now_send_cb_t)(uint8 *mac_addr, uint8 status)</div><div class="ttdoc">ESP-NOW send callback. </div><div class="ttdef"><b>Definition:</b> espnow.h:88</div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga59320ae71ba3f4d4b2904e69ce7b72f2"><div class="ttname"><a href="group__ESPNow__APIs.html#ga59320ae71ba3f4d4b2904e69ce7b72f2">esp_now_get_cnt_info</a></div><div class="ttdeci">sint32 esp_now_get_cnt_info(uint8 *all_cnt, uint8 *encrypt_cnt)</div><div class="ttdoc">Get the total number of ESP-NOW devices which are associated, and the number count of encrypted devic...</div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga6dbbbb859a5d37c2b74a79baaa8011f0"><div class="ttname"><a href="group__ESPNow__APIs.html#ga6dbbbb859a5d37c2b74a79baaa8011f0">esp_now_register_send_cb</a></div><div class="ttdeci">sint32 esp_now_register_send_cb(esp_now_send_cb_t cb)</div><div class="ttdoc">Register ESP-NOW send callback. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gaf3488572d55b5b2f3748a7a87e902a0f"><div class="ttname"><a href="group__ESPNow__APIs.html#gaf3488572d55b5b2f3748a7a87e902a0f">esp_now_register_recv_cb</a></div><div class="ttdeci">sint32 esp_now_register_recv_cb(esp_now_recv_cb_t cb)</div><div class="ttdoc">Register ESP-NOW receive callback. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga49e3aa3ba63d7883124e1dfcf2a0533b"><div class="ttname"><a href="group__ESPNow__APIs.html#ga49e3aa3ba63d7883124e1dfcf2a0533b">esp_now_set_peer_channel</a></div><div class="ttdeci">sint32 esp_now_set_peer_channel(uint8 *mac_addr, uint8 channel)</div><div class="ttdoc">Record channel information of a ESP-NOW device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga08297bacf8c88648d09c11ba3b69d594"><div class="ttname"><a href="group__ESPNow__APIs.html#ga08297bacf8c88648d09c11ba3b69d594">esp_now_set_self_role</a></div><div class="ttdeci">sint32 esp_now_set_self_role(uint8 role)</div><div class="ttdoc">Set ESP-NOW role of device itself. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gacf2a9263a2f55d55440dbf7ca2b43709"><div class="ttname"><a href="group__ESPNow__APIs.html#gacf2a9263a2f55d55440dbf7ca2b43709">esp_now_unregister_send_cb</a></div><div class="ttdeci">sint32 esp_now_unregister_send_cb(void)</div><div class="ttdoc">Unregister ESP-NOW send callback. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga407ae697a77bd49ade96fc2a72f49636"><div class="ttname"><a href="group__ESPNow__APIs.html#ga407ae697a77bd49ade96fc2a72f49636">esp_now_init</a></div><div class="ttdeci">sint32 esp_now_init(void)</div><div class="ttdoc">ESP-NOW initialization. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gaffa4f035416078c3d0dbf34f2d67795a"><div class="ttname"><a href="group__ESPNow__APIs.html#gaffa4f035416078c3d0dbf34f2d67795a">esp_now_fetch_peer</a></div><div class="ttdeci">uint8 * esp_now_fetch_peer(bool restart)</div><div class="ttdoc">Get MAC address of ESP-NOW device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga936b9caa1127d362aa63225f865afd99"><div class="ttname"><a href="group__ESPNow__APIs.html#ga936b9caa1127d362aa63225f865afd99">esp_now_set_peer_key</a></div><div class="ttdeci">sint32 esp_now_set_peer_key(uint8 *mac_addr, uint8 *key, uint8 key_len)</div><div class="ttdoc">Set ESP-NOW key for a target device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga735fbbcc99172abd887d1e248a7e9fb3"><div class="ttname"><a href="group__ESPNow__APIs.html#ga735fbbcc99172abd887d1e248a7e9fb3">esp_now_is_peer_exist</a></div><div class="ttdeci">sint32 esp_now_is_peer_exist(uint8 *mac_addr)</div><div class="ttdoc">Check if target device exists or not. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga780113b4069cbf971a58353987d25240"><div class="ttname"><a href="group__ESPNow__APIs.html#ga780113b4069cbf971a58353987d25240">esp_now_add_peer</a></div><div class="ttdeci">sint32 esp_now_add_peer(uint8 *mac_addr, uint8 role, uint8 channel, uint8 *key, uint8 key_len)</div><div class="ttdoc">Add an ESP-NOW peer, store MAC address of target device into ESP-NOW MAC list. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga5a85f4807948eaa75b76ebef7cad1a22"><div class="ttname"><a href="group__ESPNow__APIs.html#ga5a85f4807948eaa75b76ebef7cad1a22">esp_now_deinit</a></div><div class="ttdeci">sint32 esp_now_deinit(void)</div><div class="ttdoc">Deinitialize ESP-NOW. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga6b2c449a35daf4c91e51496f7622f2a0"><div class="ttname"><a href="group__ESPNow__APIs.html#ga6b2c449a35daf4c91e51496f7622f2a0">esp_now_get_peer_key</a></div><div class="ttdeci">sint32 esp_now_get_peer_key(uint8 *mac_addr, uint8 *key, uint8 *key_len)</div><div class="ttdoc">Get ESP-NOW key of a target device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga5838cbb89faf492c4904fab6d83b87bb"><div class="ttname"><a href="group__ESPNow__APIs.html#ga5838cbb89faf492c4904fab6d83b87bb">esp_now_get_self_role</a></div><div class="ttdeci">sint32 esp_now_get_self_role(void)</div><div class="ttdoc">Get ESP-NOW role of device itself. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gaac4facb9a7ec9bf4c7c0e18054664b03"><div class="ttname"><a href="group__ESPNow__APIs.html#gaac4facb9a7ec9bf4c7c0e18054664b03">esp_now_unregister_recv_cb</a></div><div class="ttdeci">sint32 esp_now_unregister_recv_cb(void)</div><div class="ttdoc">Unregister ESP-NOW receive callback. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gadd5a6237e11ed8513c4956f6109730a7"><div class="ttname"><a href="group__ESPNow__APIs.html#gadd5a6237e11ed8513c4956f6109730a7">esp_now_recv_cb_t</a></div><div class="ttdeci">void(* esp_now_recv_cb_t)(uint8 *mac_addr, uint8 *data, uint8 len)</div><div class="ttdoc">ESP-NOW send callback. </div><div class="ttdef"><b>Definition:</b> espnow.h:75</div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga2ef5f592b161d885b6f0d8dde18ff802"><div class="ttname"><a href="group__ESPNow__APIs.html#ga2ef5f592b161d885b6f0d8dde18ff802">esp_now_send</a></div><div class="ttdeci">sint32 esp_now_send(uint8 *da, uint8 *data, uint8 len)</div><div class="ttdoc">Send ESP-NOW packet. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_ga42cd1efe5ef32d2f35682bccddb5d83e"><div class="ttname"><a href="group__ESPNow__APIs.html#ga42cd1efe5ef32d2f35682bccddb5d83e">esp_now_get_peer_channel</a></div><div class="ttdeci">sint32 esp_now_get_peer_channel(uint8 *mac_addr)</div><div class="ttdoc">Get channel information of a ESP-NOW device. </div></div>
<div class="ttc" id="group__ESPNow__APIs_html_gaab9b169f115cffd354637c79d2a16789"><div class="ttname"><a href="group__ESPNow__APIs.html#gaab9b169f115cffd354637c79d2a16789">esp_now_set_kok</a></div><div class="ttdeci">sint32 esp_now_set_kok(uint8 *key, uint8 len)</div><div class="ttdoc">Set the encrypt key of communication key. </div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Mar 1 2016 10:19:26 for ESP8266_RTOS_SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.10
</small></address>
</body>
</html>
